ActionController::Routing::Routes.draw do |map|
  map.resources :patterns
  map.resources :task_status_histories

  map.resources :phases

  map.resources :activities

  # The priority is based upon order of creation: first created -> highest priority.

  # Sample of regular route:
  #   map.connect 'products/:id', :controller => 'catalog', :action => 'view'
  # Keep in mind you can assign values other than :controller and :action

      
  # Sample of named route:
  #   map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
  # This route can be invoked with purchase_url(:id => product.id)

  # Sample resource route (maps HTTP verbs to controller actions automatically):
  #   map.resources :products

  # Sample resource route with options:
  #   map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }

  # Sample resource route with sub-resources:
  #   map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
  
  # Sample resource route with more complex sub-resources
  #   map.resources :products do |products|
  #     products.resources :comments
  #     products.resources :sales, :collection => { :recent => :get }
  #   end

  # Sample resource route within a namespace:
  #   map.namespace :admin do |admin|
  #     # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
  #     admin.resources :products
  #   end

  # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
  # map.root :controller => "welcome"

  # See how all your routes lay out with "rake routes"

  map.root :controller => 'projects'
  map.member_update 'projects/:project_id/members/update', :controller => 'members', :action => 'update'
  map.preselected_parent 'projects/:project_id/tasks/new/:parent_id', :controller => 'tasks', :action => 'new'
  map.approve_task 'projects/:project_id/tasks/:id/approve', :controller=>'tasks', :action=>'approve'
  map.new_task_for_activity 'projects/:project_id/activities/:activity_id/tasks/new', :controller=>'tasks', :action=>'new'
  map.new_collection 'projects/:project_id/activities/:activity_id/add_collection', :controller=>'activities', :action=>'add_collection'
  
  # Defining list action route map
  map.list 'projects/:project_id/:controller/list', :action => 'list'
  
  
  map.resources 'projects', :has_many => [:tasks, :phases, :activities, :documents, :revisions, :notes, :contacts, :members, :users]
        
  # Install the default routes as the lowest priority.
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end